﻿Namespace Carrier
    <Serializable()> _
    Partial Public Class Typos

    End Class

    <Serializable()> _
    Public Class TyposList
        Inherits Generic.List(Of Typos)

    End Class

    <Serializable()> _
    Partial Public Class Balance

    End Class

    <Serializable()> _
    Partial Public Class Moira

    End Class

    <Serializable()> _
    Public Class MoiraList
        Inherits Generic.List(Of Moira)

    End Class

    <Serializable()> _
    Partial Public Class Programmatismeni

    End Class

    <Serializable()> _
    Partial Public Class Provlepomeni

    End Class

    <Serializable()> _
    Partial Public Class ProvlepomeniList
        Inherits Generic.List(Of Provlepomeni)

    End Class

    <Serializable()> _
    Partial Public Class Skopia

    End Class

    <Serializable()> _
    Partial Public Class Stratefsimos

    End Class

End Namespace

Namespace Entities

    <Serializable()> _
    Public Class Moira
        Private _id As Integer
        Public Property Id() As Integer
            Get
                Return _id
            End Get
            Set(ByVal value As Integer)
                _id = value
            End Set
        End Property
        Private _description As String
        Public Property Description() As String
            Get
                Return _description
            End Get
            Set(ByVal value As String)
                _description = value
            End Set
        End Property
        Public Sub New(ByVal anId As Integer, ByVal aDescription As String)
            Me.Id = anId
            Me.Description = aDescription
        End Sub
        Public Overrides Function ToString() As String
            Return Me.Description
        End Function
    End Class

    <Serializable()> _
    Public Class ServiceType
        Private _id As Integer
        Public Property Id() As Integer
            Get
                Return _id
            End Get
            Set(ByVal value As Integer)
                _id = value
            End Set
        End Property
        Private _description As String
        Public Property Description() As String
            Get
                Return _description
            End Get
            Set(ByVal value As String)
                _description = value
            End Set
        End Property
        Public Sub New(ByVal anId As Integer, ByVal aDescription As String)
            MyClass.New()
            Me.Id = anId
            Me.Description = aDescription
        End Sub
        Public Sub New()
            Me.Id = 0
            Me.Description = "(empty)"
        End Sub
        Public Overrides Function ToString() As String
            Return Me.Description
        End Function
    End Class

    <Serializable()> _
    Public Class Dues
        Private _onoma As String
        Public Property Onoma() As String
            Get
                Return _onoma
            End Get
            Set(ByVal value As String)
                _onoma = value
            End Set
        End Property
        Private _eponymo As String
        Public Property Eponymo() As String
            Get
                Return _eponymo
            End Get
            Set(ByVal value As String)
                _eponymo = value
            End Set
        End Property
        Private _moira As String
        Public Property Moira() As String
            Get
                Return _moira
            End Get
            Set(ByVal value As String)
                _moira = value
            End Set
        End Property
        Private _asma As String
        Public Property Asma() As String
            Get
                Return _asma
            End Get
            Set(ByVal value As String)
                _asma = value
            End Set
        End Property
        Private _typos As String
        Public Property Typos() As String
            Get
                Return _typos
            End Get
            Set(ByVal value As String)
                _typos = value
            End Set
        End Property
        Private _provlepomenes As Integer?
        Public Property Provlepomenes() As Integer?
            Get
                Return _provlepomenes
            End Get
            Set(ByVal value As Integer?)
                _provlepomenes = value
            End Set
        End Property

        Private _pragmatikes As Integer?
        Public Property Pragmatikes() As Integer?
            Get
                Return _pragmatikes
            End Get
            Set(ByVal value As Integer?)
                _pragmatikes = value
            End Set
        End Property


        Private _id As Integer
        Public Property id() As Integer
            Get
                Return _id
            End Get
            Set(ByVal value As Integer)
                _id = value
            End Set
        End Property



        'Private _Hmer_Gennisis As String
        'Public Property Hmer_Gennisis() As String
        '    Get
        '        Return _Hmer_Gennisis
        '    End Get
        '    Set(ByVal value As String)
        '        _Hmer_Gennisis = value
        '    End Set
        'End Property

        'Private _Patronimo As String
        'Public Property Patronimo() As String
        '    Get
        '        Return _Patronimo
        '    End Get
        '    Set(ByVal value As String)
        '        _Patronimo = value
        '    End Set
        'End Property

        'Private _Mitronimo As String
        'Public Property Mitronimo() As String
        '    Get
        '        Return _Mitronimo
        '    End Get
        '    Set(ByVal value As String)
        '        _Mitronimo = value
        '    End Set
        'End Property

        'Private _Tekna As String
        'Public Property Tekna() As String
        '    Get
        '        Return _Tekna
        '    End Get
        '    Set(ByVal value As String)
        '        _Tekna = value
        '    End Set
        'End Property

        'Private _id_Ikanotita As Integer
        'Public Property id_Ikanotita() As Integer
        '    Get
        '        Return _id_Ikanotita
        '    End Get
        '    Set(ByVal value As Integer)
        '        _id_Ikanotita = value
        '    End Set
        'End Property

        'Private _id_Katastasi As Integer
        'Public Property id_Katastasi() As Integer
        '    Get
        '        Return _id_Katastasi
        '    End Get
        '    Set(ByVal value As Integer)
        '        _id_Katastasi = value
        '    End Set
        'End Property

        'Private _id_Moira As Integer
        'Public Property id_Moira() As Integer
        '    Get
        '        Return _id_Moira
        '    End Get
        '    Set(ByVal value As Integer)
        '        _id_Moira = value
        '    End Set
        'End Property

        'Private _id_Epistasia As Integer
        'Public Property id_Epistasia() As Integer
        '    Get
        '        Return _id_Epistasia
        '    End Get
        '    Set(ByVal value As Integer)
        '        _id_Epistasia = value
        '    End Set
        'End Property

        'Private _Eggamos As String
        'Public Property Eggamos() As String
        '    Get
        '        Return _Eggamos
        '    End Get
        '    Set(ByVal value As String)
        '        _Eggamos = value
        '    End Set
        'End Property

        'Private _Paratitiseis As String
        'Public Property Paratitiseis() As String
        '    Get
        '        Return _Paratitiseis
        '    End Get
        '    Set(ByVal value As String)
        '        _Paratitiseis = value
        '    End Set
        'End Property

        'Private _id_Dieythinsi As Integer
        'Public Property id_Dieythinsi() As Integer
        '    Get
        '        Return _id_Dieythinsi
        '    End Get
        '    Set(ByVal value As Integer)
        '        _id_Dieythinsi = value
        '    End Set
        'End Property


        Public Sub New(ByVal theOnoma As String, ByVal theEponymo As String, _
            ByVal theMoira As String, ByVal theAsma As String, ByVal theTypos As String, _
            ByVal theProvlepomenes As Integer?, ByVal thePragmatikes As Integer?, ByVal theID As Integer)

            Me.Onoma = theOnoma
            Me.Eponymo = theEponymo
            Me.Moira = theMoira
            Me.Asma = theAsma
            Me.Typos = theTypos
            Me.Provlepomenes = theProvlepomenes
            Me.Pragmatikes = thePragmatikes
            Me.id = theID

        End Sub
    End Class

    <Serializable()> _
    Public Class Staff
        Private _id As Integer
        Public Property Id() As Integer
            Get
                Return _id
            End Get
            Set(ByVal value As Integer)
                _id = value
            End Set
        End Property
        Private _onoma As String
        Public Property Onoma() As String
            Get
                Return _onoma
            End Get
            Set(ByVal value As String)
                _onoma = value
            End Set
        End Property
        Private _eponymo As String
        Public Property Eponymo() As String
            Get
                Return _eponymo
            End Get
            Set(ByVal value As String)
                _eponymo = value
            End Set
        End Property
        'Private _deleted As Boolean
        'Public Property Deleted() As Boolean
        '    Get
        '        Return _deleted
        '    End Get
        '    Set(ByVal value As Boolean)
        '        _deleted = value
        '    End Set
        'End Property
        Private _moira As Integer
        Public Property Moira() As Integer
            Get
                Return _moira
            End Get
            Set(ByVal value As Integer)
                _moira = value
            End Set
        End Property

        Public ReadOnly Property StaffName() As String
            Get
                Return String.Format("{0} {1}", Me._eponymo, Me._onoma)
            End Get
        End Property

        Public Sub New()
            Me.Moira = 0
            Me.Onoma = ""
            Me.Eponymo = ""
            Me.Id = 0
        End Sub

        Public Sub New(ByVal theId As Integer, ByVal theOnoma As String, ByVal theEponymo As String, ByVal theMoira As Integer)
            MyClass.New()
            Me.Id = theId
            Me.Onoma = theOnoma
            Me.Eponymo = theEponymo
            Me.Moira = theMoira
            'Me._deleted = False
        End Sub

    End Class

    <Serializable()> _
    Public Class StaffProvlepe
        'Private _staff As Base.Entities.Staff
        'Public Property Staff() As Base.Entities.Staff
        '    Get
        '        Return _staff
        '    End Get
        '    Set(ByVal value As Base.Entities.Staff)
        '        _staff = value
        '    End Set
        'End Property
        Private _id As Integer
        Public Property Id() As Integer
            Get
                Return _id
            End Get
            Set(ByVal value As Integer)
                _id = value
            End Set
        End Property

        Private _Provlepomenes As Integer
        Public Property Provlepomenes() As Integer
            Get
                Return _Provlepomenes
            End Get
            Set(ByVal value As Integer)
                _Provlepomenes = value
            End Set
        End Property

        Public Sub New(ByVal theId As Integer, ByVal theStaffId As Integer, ByVal theServiceType As Integer, ByVal theProvlepomenes As Integer)
            MyClass.New()
            Me.Id = theId
            Me.StaffId = theStaffId
            Me.ServiceType = theServiceType
            Me.Provlepomenes = theProvlepomenes
        End Sub

        Private _staffId As Integer
        Public Property StaffId() As Integer
            Get
                Return _staffId
            End Get
            Set(ByVal value As Integer)
                _staffId = value
            End Set
        End Property

        Private _serviceType As Integer
        Public Property ServiceType() As Integer
            Get
                Return _serviceType
            End Get
            Set(ByVal value As Integer)
                _serviceType = value
            End Set
        End Property

        Public Sub New()
            'Me._staff = New Base.Entities.Staff()
            Me.Provlepomenes = 0
            Me.StaffId = 0
            Me.Id = 0
        End Sub
    End Class

    <Serializable()> _
Public Class StaffProgram
        'Private _staff As Base.Entities.Staff
        'Public Property Staff() As Base.Entities.Staff
        '    Get
        '        Return _staff
        '    End Get
        '    Set(ByVal value As Base.Entities.Staff)
        '        _staff = value
        '    End Set
        'End Property
        Private _id As Integer
        Public Property Id() As Integer
            Get
                Return _id
            End Get
            Set(ByVal value As Integer)
                _id = value
            End Set
        End Property

        Private _Programmatismenes As Date
        Public Property Programmatismenes() As Date
            Get
                Return _Programmatismenes
            End Get
            Set(ByVal value As Date)
                _Programmatismenes = value
            End Set
        End Property

        Public Sub New(ByVal theId As Integer, ByVal theStaffId As Integer, ByVal theServiceType As Integer, ByVal theProgrammatismenes As Date)
            MyClass.New()
            Me.Id = theId
            Me.StaffId = theStaffId
            Me.ServiceType = theServiceType
            Me.Programmatismenes = theProgrammatismenes
        End Sub

        Private _staffId As Integer
        Public Property StaffId() As Integer
            Get
                Return _staffId
            End Get
            Set(ByVal value As Integer)
                _staffId = value
            End Set
        End Property

        Private _serviceType As Integer
        Public Property ServiceType() As Integer
            Get
                Return _serviceType
            End Get
            Set(ByVal value As Integer)
                _serviceType = value
            End Set
        End Property

        Public Sub New()
            'Me._staff = New Base.Entities.Staff()
            Me.Programmatismenes = Date.Now
            Me.StaffId = 0
            Me.Id = 0
        End Sub
    End Class
End Namespace